package com.walter.common.dataPermission.annotation;

import java.lang.annotation.*;

/**
 * 数据权限注解
 *
 */
@Target({ElementType.PARAMETER, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataPermission {

    /**
     * 校验的目标函数 beanName代表校验类的bean的名称; method表示具体的校验函数;param代表具体的参数 and、or 表示逻辑
     * 例如:
     * #beanName1.method(#param) and #beanName2.method(#param)
     * #beanName1.method(#param) or #beanName2.method(#param)
     * (#beanName1.method(#param) and #beanName2.method(#param)) or #beanName3.method(#param)
     *
     * @return
     */
    String checkFunctions();
    /**
     *  是否校验数据权限。false不校验；true校验（默认值）
     * @return
     */
    boolean check() default true;
}
